<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title></title>
  <!--引入Vue-->
  <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div class="root">
  <button @click.once="add">添加一个老刘</button>
  <ul>
    <!--    这里的key不能用index,也不能不写,可以用元素的id-->
    <!--    为什么不能用index,因为在生成虚拟DOM的时候,新的虚拟DOM和旧的虚拟DOM会进行对比,有可能会出现数据错乱的问题-->
    <li v-for="(person,index) in persons" :key="person.id">
      {{ person.name }}-{{ person.age }}-{{ index }}
      <input type="text"/>
    </li>
  </ul>
</div>
</body>

<script type="text/javascript">
  new Vue({
    el: '.root',
    data: {
      persons: [
        { id: '001', name: '张三', age: 18 },
        { id: '002', name: '张四', age: 14 },
        { id: '003', name: '张五', age: 15 }
      ]
    },
    methods: {
      add() {
        const p = {
          id: '004',
          name: '老刘',
          age: '21'
        }
        this.persons.unshift(p)
      }
    }
  })
</script>
</html>
